#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
评论处理工具主程序
用于处理comments文件夹下的所有Excel文件中的评论数据
"""

import os
import sys
import argparse
from comment_processor import CommentProcessor
import logging

# 配置日志
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s',
    handlers=[
        logging.FileHandler('comment_processing.log', encoding='utf-8'),
        logging.StreamHandler(sys.stdout)
    ]
)
logger = logging.getLogger(__name__)

def main():
    """主函数"""
    parser = argparse.ArgumentParser(description='评论处理工具')
    parser.add_argument('--input', '-i', default='comments', 
                       help='输入文件夹路径 (默认: comments)')
    parser.add_argument('--output', '-o', default='output', 
                       help='输出文件夹路径 (默认: output)')
    parser.add_argument('--file', '-f', 
                       help='处理单个文件 (可选)')
    parser.add_argument('--verbose', '-v', action='store_true', 
                       help='显示详细日志')
    
    args = parser.parse_args()
    
    if args.verbose:
        logging.getLogger().setLevel(logging.DEBUG)
    
    try:
        # 创建评论处理器
        processor = CommentProcessor()
        
        if args.file:
            # 处理单个文件
            if not os.path.exists(args.file):
                logger.error(f"文件不存在: {args.file}")
                return
            
            logger.info(f"开始处理单个文件: {args.file}")
            processor.process_excel_file(args.file)
            logger.info("文件处理完成")
            
        else:
            # 处理整个文件夹
            if not os.path.exists(args.input):
                logger.error(f"输入文件夹不存在: {args.input}")
                return
            
            logger.info(f"开始处理文件夹: {args.input}")
            processor.process_comments_folder(args.input, args.output)
            logger.info("文件夹处理完成")
        
        logger.info("所有处理任务完成！")
        
    except Exception as e:
        logger.error(f"程序执行出错: {str(e)}")
        sys.exit(1)

if __name__ == "__main__":
    main() 